package com.starhub.common.security.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

import lombok.Data;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

/**
 * 安全白名单配置
 * @version: V1.0
 * @author: liuhf
 * @time 2025-06-06
 */
@Data
@Component
@ConfigurationProperties(prefix = "security.whitelist")
public class SecurityWhiteList {
    
    /**
     * 白名单URL列表（逗号分隔的字符串）
     */
    private String urls = "";
    
    /**
     * 白名单IP列表（逗号分隔的字符串）
     */
    private String ips = "";
    
    /**
     * 获取URL白名单列表
     * @return URL白名单列表
     */
    public List<String> getUrlList() {
        if (!StringUtils.hasText(urls)) {
            return new ArrayList<>();
        }
        return Arrays.asList(urls.split(","));
    }
    
    /**
     * 获取IP白名单列表
     * @return IP白名单列表
     */
    public List<String> getIpList() {
        if (!StringUtils.hasText(ips)) {
            return new ArrayList<>();
        }
        return Arrays.asList(ips.split(","));
    }
} 